Amazon | SDE1 | Hyd,India | Jan 2022 OFFER

26/9/2022 17:5 - Asia/Calcutta

Background: BE in CS tier-3 Institute
Codechef 2100+, Codeforces 1700+
Previous Exp: Software Engineer @ Tier-2 Bank
Position: SDE1 at Amazon
Location: Hyderabad, India
Date: Nov 2021

Oct 1, 2021: Applied through careers site

Oct 4, 2021: Online Assessment
Q1: Simple greedy, something like: "given a list of files, merging 2 files takes (x+y) cost, where x & y are sizes of files that were merged"
Q2: Easy binary search/hashing, something like: "given a list of forward and backward routes, optimal route is one which covers maximum distance withing the fuel limit given. Return a list of all optimal routes (round trips)"
Solved both, with explanations (they ask for written explanations of code :/)

== 5 weeks later ==
Nov 9, 2021: Recruiting co-ordinator called to inform OA was cleared, asked to schedule interviews

Nov 24, 2021: Coding Interview
Taken by Sr. TPM
Intro
Behavioral Questions based on LPs (insist on highest standards & invent and simplify)
Q1: [Medium] Given an array of integers, rearrange the numbers with alternate positive and negatives while preserving the relative ordering of the positive and negative elements.
Ex. input=[-1,-2,3,4,-5,6] answer=[-1,3,-2,4,-5,6]
[-2,3,-1,4,-5,6] will be wrong answer, because relative ordering of negative numbers got messed up.
Q2: Literally this one: https://leetcode.com/problems/container-with-most-water/
Took too long to solve Q2, was hard to prove the solution works.
Felt like: LEAN-HIRE

Nov 24, 2021: Coding Round
Taken by SDE-3
Intro
Q1: [Easy] Given a list of lengths of wires, return the cost to combine all wires into a single wire. Cost to combine 2 wires is the sum of their lengths. (Question was simple, interviewer asked for multiple approaches BBST, linkedlist, heap, asked to write heap finally).
Q2: [Hard] https://leetcode.com/problems/word-ladder Given initial & target strings, and a list of strings, convert initial string into target string in minimum steps. In 1 step, you can replace any alphabet from the string, but the new string formed should be present in the given list of strings.
Ex. initial= "hat", target= "boy", list= ["hut", "hit", "but", "buy"]
Possible Solution: hat --> hut --> but --> buy --> boy
Solved both.
Behavioral questions, based on "leaders are owners".
Felt like: HIRE

Nov 25, 2021: Hiring Manager Round
Taken by SDM

  1. Intro
  2. Questions on projects
  3. OOPs: Given 7 code snippets, predict the output, few easy, few tricky, based on inheritance, virtual functions, etc
  4. CS Fundamentals
    a. What do you mean by 32/64 bit architecture?
    b. There's a 32-bit computer with 4GB RAM, I add another 4 GB in the free slot, what happens?
    c. Recursion? Tail Recursion? How would a compiler implement it?
    d. What CN protocols do you remember? List them.
    e. Difference between TCP vs UDP
    f. HTTP vs HTTPS? How is it secure? Which layer takes care of the security & encryption?
    g. Address resolution protocols, ARP, RARP?
  5. Behavioral Questions: based on LPs again

Felt like: STRONG-HIRE

.
Dec 7, 2021: Bar Raiser
Taken by SDE-3 from another team

  1. Intro
  2. Behavioral questions based on LPs, too many follow-up questions, interviewer "dive-deep"ed into LPs :p
    (A time when you did something that's not your job? Why do you think it's not your job in the first place?...)
  3. You'll be given queries (integers). You start off with an empty list. For each "add" query, you add that integer to your list and return the longest chain formed right now. (Consecutive integers form a chain). Solve in O(1)/query time.
    Ex. add 1, add 3, add 5, add 2, add 4, remove 3
    Answer: [1, 1, 1, 3, 5, 2]

Comments

Submit
0 Comments